home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekikoh Dennoh Club 1
/
Gekikoh Dennoh Club Vol. 1 (Japan).7z
/
Gekikoh Dennoh Club Vol. 1 (Japan) (Track 1).bin
/
kowin
/
archive
/
apl
/
koemk32s.lzh
/
koemacs.doc
< prev
next >
Wrap
Text File
|
1994-11-11
|
16KB
|
552 lines
X680x0 Ko-Window TEXT EDITOR
MicroEMACS 3.10 Ko-Window ver.3
1994 10/11 小笠原博之
SPS-NET: SPS0783 COR.
Ko-Window 用の MicroEMACS です (略称 KoEMACS K3)。標準の EMACS キーバイン
ドの他に Human68k 付属の ED.X のキー配置も内部に含んでいます。
これは単なるマクロ定義ではなく、予めプログラムとして内蔵しているので起動が遅
くなることはありません。普段 ED.X を使っている方にもすぐ使ってもらえるでしょ
う。
X680x0 の MicroEMACS には有名な 3.10/J1.31/J1.4 等がありますが、これは新た
にインストールし直したものです。それらによって拡張されている命令や機能は使え
ません。今回の改良にあたって、MicroEMACS 3.10/J1.31 をかなりの部分まで参考に
させていただきました。
●インストール
em.win が実行ファイルです。付属している次のファイルは、em.win と同じディレ
クトリに入れておいて下さい。
emacs.rc EMACS モード用初期設定ファイル
emacs.hlp EMACS モード用 HELP ファイル
emacsed.rc ED モード用初期設定ファイル
emacsed.hlp ED モード用 HELP ファイル
●起動方法
Ko-Window 上で起動します。デフォルト状態で2種類のキーバインドを選択できる
ようになっています。
(1) em 編集ファイル名
(2) em -ed 編集ファイル名
(1) では、EMACS 標準のキーバインドで立ち上がります。(2) では、初期状態のキー
配置が Human68k 付属の ED.X と全く同じになります。もちろん、設定ファイルを書
き換えれば自分で好みの配置に変更できますが、この KoEMACS では2種類の初期状態
を選ぶことができるのです。
(1) を EMACS モード、(2) を ED モードと区別することにします。EMACS モードで
参照するファイルは emacs.rc 、emacs.hlp ですが、ED モードでは emacsed.rc と
emacsed.hlp になります。注意して下さい。
注意! K0/K1 に隠しモードとして存在していた COR. モード(-COR スイッチ)は廃
止されました。
・書式
em [<switch>] [<編集ファイル名>] [@<設定ファイル名>]
引数並びに順番は関係ありません。編集ファイル名は、複数記述することができます。
(ワイルドカード使用可能)設定ファイル名を書いた場合は、emacs.rc / emacsed.rc
の代りにそのファイルを読み込みます。この場合 emacs.rc / emacsed.rc は読み込ま
れません。
・スイッチ
-x<num> 起動時のウィンドウX座標
-y<num> 起動時のウィンドウY座標
-h<num> 起動時のウィンドウ横サイズ(ドットサイズ)
-v<num> 起動時のウィンドウ縦サイズ(ドットサイズ)
-f<num> フォントサイズ (10,12,16,24)
-a<num> 表示アトリビュート指定
-m<num>k エディタで使用する HEAP サイズを指定します
例 em -m128k (注意!「k」を忘れずに!)
-ED ED モードで立ち上げます
-P ウィンドウタイトルバー上にカーソル位置を表示します
-c 編集モードにします(デフォルト)
+v VIEW モードにします。そのファイルは変更できません
-w VIEW モードにします。そのファイルは変更できません
-e エラー時の処理を許可します
-g<num> 起動後、指定した行に飛びます
-i<var> <value> 起動時に、変数に値を設定します
-s<string> インクリメンタルサーチの文字列を与えます
-p 起動時マウスカーソルの移動を行ないません
その他
-k
-r
●マウスによるウィンドウ操作
このエディタの操作は、マウスカーソルがウィンドウ上にあるときでなければいけ
ません。マウスによる操作は、次の通りです。
左ボタン:ドラッグによって範囲を指定し Clip Board に取り込む
右ボタン:ポップアップメニューが開き、Clip Board からの Paste と、
フォントサイズの変更ができる。
タイトルバー上のアイコン化ボックスを左クリックすると、アイコンにすることが
できます。(中にはカレントバッファ名を表示)
リサイズボックスによって、ウィンドウのリサイズが可能です。編集画面の大きさ
がそれに合せて変化します。
クローズボックスをクリックすると、無条件で強制終了となりますので注意して下
さい。ファイルを書き換えた場合は、必ずキー操作でエディタを終了させて下さい。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
操作ミスやバグによる暴走で、重要なファイルが消えてしまうかもしれません。こ
まめにセーブする等の対策を立て、必ず個人の責任において管理して下さい。
● emacs.rc / emacsed.rc
初期設定ファイル、emacs.rc / emacsed.rc の検索順番は、以下の通りです。Human
上の emacs.rc とかち合わないように path 先の検索はしません。
(1) カレントディレクトリ
(2) 環境変数 HOME のディレクトリ
(3) em.win の置いてあったディレクトリ
●メモリ
起動すると、この KoEMACS は 256K byte の HEAP 領域を確保します。実際は、扱
うファイルの大きさによって消費するメモリも変化しますので、場合に応じて HEAP
容量を設定すると効率の良くメモリを使うことができます。起動時、スイッチ「-m」
で HEAP 容量を変更できます。メモリが足りなくて起動できない場合は、値を減らし
てみて下さい。また、大きなファイルが読み込めなかった場合は、値を増やしてみま
しょう。
例
em -m100k 100K byte 確保する場合
em -m500k 500K byte 確保する場合
容量最後の「k」を取ると、バイト単位で指定することになります。注意して下さい。
例
em -m102400 100K byte 確保する場合
● 3.10/J1.31 用マクロへの対応
この KoEMACS K1 は、3.10/J1.31 で拡張されている命令や変数も、名前だけは登録
してあります。その命令のうち、以下のものを除いて機能はしません。ファンクショ
ンキーのコードも何とか同じに設定してあるので、マクロも少しの変更だけで動くよ
うになると思います。(100%未確認)
<< KoEMACS の拡張コマンド >>
・システム変数
$dispcr 改行記号の表示
$makbak バックアップファイルの作成
$bkin 禁足処理用
$fkin 禁足処理用
・コマンド
toggle-cr 改行記号表示の切り替え
toggle-over 挿入、重ね書き、切り替え
caps-key-reverse CAPS 状態の反転
kill-line 行削除
copy-line 行コピー
zenkaku-word 単語の全角変換
hankaku-word 単語の半角変換
この他に、KoEMACS 独自で次のコマンドが拡張されています。
toggle-tab タブ記号の表示切り替え
toggle-macro キーボードマクロの記録開始と終了
toggle-position ED.X の CTRL+B の動作を行なう
set-mark-ed ED.X の F6 に相当するコマンド
newline-ed 回数を指定するとその行へ飛ぶ、ED.X の改行用
● ED モード 初期状態のキーバインド一覧
詳しい操作については、X680x0 付属の Human68k ユーザーズマニュアルをご覧下さ
い。ED.X と操作法方は同じです。(一部を除いて)
CTRL+SPC マークセット(範囲指定)
CTRL+A 1単語戻る
CTRL+B 行の先頭(すでに先頭の場合、行の最後)にカーソル移動
CTRL+C 1画面進める
CTRL+D カーソルを右に移動する
CTRL+E カーソルを上に移動する
CTRL+F 1単語進める
CTRL+G カーソル位置の文字を削除(コマンド入力時はアボード)
CTRL+H カーソルの前の文字を削除( [BS] と同じ)
CTRL+I タブの挿入
CTRL+J 改行の挿入&インデント
CTRL+K カーソル位置から行末まで削除
CTRL+L キルバッファの内容を張り付ける
CTRL+M 改行の挿入
CTRL+N 1行下に空白行を挿入する
CTRL+O 挿入と重ね書きモードを切り替える
CTRL+P カーソルを行の最後に移動する
CTRL+Q カーソルを行の先頭に移動する
CTRL+R 1画面戻す
CTRL+S カーソルを左に移動する
CTRL+T 単語の削除
CTRL+U 1行削除
CTRL+V コントロール文字の挿入
CTRL+W 1行スクロールアップ
CTRL+X カーソルを下に移動する
CTRL+Y 1行削除
CTRL+Z 1行スクロールダウン
CTRL+[ エスケープキーと同じ
CTRL+\ 前方サーチ
CTRL+] 未登録
CTRL+^ 未登録
CTRL+_ ファンクションキーの1バイト目として機能
ESC・@ キーボードマクロの登録開始、と終了
ESC・A 複数ファイル編集時にカレントウィンドウのファイルを切り替える
ESC・B ファイルの先頭に移動する
ESC・C 未登録
ESC・D 次のウィンドウに移動する
ESC・E ファイルを書き出して終了
ESC・F 新たにファイルを読み込む
ESC・G 指定範囲(キルバッファ)の張り付け
ESC・H 編集中のファイルを書き出す
ESC・I タブ記号表示の切り替え
ESC・J 確認置換
ESC・K 現在のバッファを削除する
ESC・L カーソル位置が画面の中央にくるよう書き直す
ESC・M 改行記号の表示切り替え
ESC・N 前方サーチ
ESC・O 現在のバッファにファイルを読み込む
ESC・P 指定した範囲を削除(キルバッファに取り込む)
ESC・Q ファイルを書き出さずに強制終了
ESC・R 確認なし置換
ESC・S 後方サーチ
ESC・T 編集中のファイル名の変更
ESC・U VIEW モードでファイルを読み込む
ESC・V タグジャンプ(マクロで用意する必要がある)
ESC・W ファイル名を指定してファイルを書き出す
ESC・X MicroEMACS のコマンド名で直接入力する
ESC・Y ファイルをカーソル位置に挿入する
ESC・Z ファイルの最後に移動する
ESC・[ 単語の大文字変換
ESC・] 単語の小文字変換
ESC・^ 確認なし置換
ESC・SPC マークセット(範囲指定)
ESC・. マークセット(範囲指定)
ESC・< ファイルの先頭に移動する
ESC・> ファイルの最後に移動する
ESC・CTRL+C 次のウィンドウを1画面進める
ESC・CTRL+R 次のウィンドウを1画面戻す
ESC・ESC カーソルポジションの情報を表示する
F1 ファイルの先頭に移動する
F2 ファイルの最後に移動する
F3 確認なし前方置換
F4 前方検索
F5 次検索
F6 範囲指定(マークセット)
F7 指定範囲削除(キルバッファに取り込む)
F8 指定範囲を複写する(キルバッファにコピーする)
F9 取り込んだ範囲を張り付ける(キルバッファの張り付け)
F10 行の二重化
SHIFT+F1 ウィンドウ拡大
SHIFT+F2 ウィンドウ縮小
SHIFT+F3 確認あり前方置換
SHIFT+F4 後方置換
SHIFT+F5 次後方検索
SHIFT+F6 次のウィンドウに移動する
SHIFT+F7 前のウィンドウに移動する
SHIFT+F8 ファイルの挿入
SHIFT+F9 ファイルの書き出し
SHIFT+F10 未登録
[ROLL UP] 1画面進める
[ROLL DOWN] 1画面戻す
[INS] 挿入、重ね書き切り替え
[DEL] カーソル位置の文字削除
[↑][↓][←][→]カーソル移動
[CLR] 画面の書き直し
[UNDO] キーボードマクロの実行
[HOME] 次のファイル
[RETURN] 改行の挿入
[ENTER] 改行の挿入
[TAB] タブの挿入
[BS] バックスペース
[ESC] エスケープコマンドの始まり
[HELP] ヘルプ画面の ON / OFF
CTRL+[ROLL UP] 次のウィンドウを1画面進める
CTRL+[ROL DOWN] 次のウィンドウを1画面戻す
CTRL+[DEL] カレントウィンドウの表示を消す
CTRL+[UNDO] カレントウィンドウを2つに分ける
CTRL+[HOME] 次のウィンドウ
CTRL+[CLR] アボート(コマンドの取り消し)
SHIFT+[ROLL UP] 次のウィンドウを1画面進める
SHIFT+[RL DOWN] 次のウィンドウを1画面戻す
SHIFT+[DEL] カレントウィンドウの表示を消す
SHIFT+[HOME] 次のウィンドウ
SHIFT+[UNDO] カレントウィンドウを2つに分ける
[ESC] 数値 CMD CMDを指定回数繰り返す
[ESC] 行番号 [RETURN] 指定行へ飛ぶ (飛び先が先頭行の時は[F1]を使って下さい)
● EMACS モード 初期状態のキーバインド一覧
CTRL+SPC マークセット
CTRL+A カーソルを行の先頭に移動する
CTRL+B カーソル左移動
CTRL+C 空白挿入
CTRL+D カーソル位置の文字削除
CTRL+E カーソルを行の最後に移動する
CTRL+F カーソル右移動
CTRL+G アボート(コマンドの中止)
CTRL+H カーソルの前の文字削除
CTRL+I タブの挿入
CTRL+J インデント挿入
CTRL+K カーソル位置から行末まで削除
CTRL+L 画面の書き直し
CTRL+M 改行挿入
CTRL+N カーソル下移動
CTRL+O 空白行を挿入
CTRL+P カーソル上移動
CTRL+Q コントロール文字挿入
CTRL+R 後方検索
CTRL+S 前方検索
CTRL+T カーソル位置の文字交換
CTRL+U コマンド実行回数設定
CTRL+V 1画面進める
CTRL+W 指定範囲を削除する
CTRL+X CTRLX コマンドの開始
CTRL+Y キルバッファの張り付け
CTRL+Z 1画面戻す
CTRL+[ エスケープキー
CTRLX・CTRL+B バッファ内容の表示
CTRLX・CTRL+C 終了
CTRLX・CTRL+D タブのスペース変換
CTRLX・CTRL+E スペースのタブ変換
CTRLX・CTRL+F ファイルの読み込み
CTRLX・CTRL+I ファイルの挿入
CTRLX・CTRL+K マクロのキー割り付け
CTRLX・CTRL+L 範囲の小文字変換
CTRLX・CTRL+M モード削除
CTRLX・CTRL+N ウィンドウのスクロールダウン
CTRLX・CTRL+O 空白行削除
CTRLX・CTRL+P ウィンドウのスクロールアップ
CTRLX・CTRL+R ファイル読み込み
CTRLX・CTRL+S ファイル書き出し
CTRLX・CTRL+T トリム
CTRLX・CTRL+U 範囲の大文字変換
CTRLX・CTRL+W ファイル書き出し
CTRLX・CTRL+X マークとカーソル位置の交換
CTRLX・CTRL+Z ウィンドウを小さくする
CTRLX・? キーバインドの表示
CTRLX・!
CTRLX・@ パイプコマンド
CTRLX・#
CTRLX・$
CTRLX・= カーソル位置情報の表示
CTRLX・( キーボードマクロ設定開始
CTRLX・) キーボードマクロ設定終了
CTRLX・<
CTRLX・>
CTRLX・^
CTRLX・SPC マーク削除
CTRLX・0 ウィンドウ削除
CTRLX・1 他のウィンドウ削除
CTRLX・2 ウィンドウ分割
CTRLX・A 変数設定
CTRLX・B バッファセレクト
CTRLX・C
CTRLX・D
CTRLX・E キーボードマクロ実行
CTRLX・F
CTRLX・G 変数表示
CTRLX・K バッファの削除
CTRLX・M モードセット
CTRLX・N ファイル名変更
CTRLX・O 次のウィンドウに移動
CTRLX・P 前のウィンドウに移動
CTRLX・R 後方インクリメンタルサーチ
CTRLX・S 前方インクリメンタルサーチ
CTRLX・W ウィンドウサイズ変更
CTRLX・X 次のファイルに移動
CTRLX・Z
ESC・CTRL+C 単語カウント
ESC・CTRL+E
ESC・CTRL+F カッコの対応検索
ESC・CTRL+G マーク位置に飛ぶ
ESC・CTRL+H 単語削除
ESC・CTRL+K キーバインド取り消し
ESC・CTRL+L カーソル位置を中央に画面書き直し
ESC・CTRL+M グローバルモード削除
ESC・CTRL+N バッファ名変更
ESC・CTRL+R 確認置換
ESC・CTRL+S ファイル実行
ESC・CTRL+V 次のウィンドウのページアップ
ESC・CTRL+W パラグラフ削除
ESC・CTRL+X
ESC・CTRL+Z 次のウィンドウのページダウン
ESC・SPC マークセット
ESC・? ヘルプ
ESC・! カーソル位置を中央にして画面書き直し
ESC・. マークセット
ESC・> ファイルの最後に移動
ESC・< ファイルの先頭に移動
ESC・~ ファイルの変更状態取り消し
ESC・A
ESC・B 1単語戻る
ESC・C
ESC・D 単語削除
ESC・E
ESC・F 1単語進む
ESC・G 指定行に飛ぶ
ESC・K キーバインド設定
ESC・L 単語小文字変更
ESC・M グローバルモード設定
ESC・N パらグラフの最後に移動
ESC・P パラグラフの先頭に移動
ESC・Q
ESC・R 文字列置換
ESC・S
ESC・U 単語大文字変更
ESC・V 1画面戻る
ESC・W 範囲をキルバッファにコピーする
ESC・X コマンド名を入力しての実行
ESC・Z ファイルに変更があれば書き出して終了
[ESC] 数値 コマンド コマンドを指定回数繰り返す
●キーバインドおよび編集機能について
MicroEMACS はすべてのキーバインドが変更可能です。またマクロプログラミングに
より、さまざまなさまざまな機能を追加してより拡張することもできます。
● Emacs とその種類
MicroEMACS は GNU Emacs ではありません。以下の3つの Emacs は全部別ものです。
また GNU Micro Emacs が GNU Emacs の縮小版なのに対して Micro Emacs は(名前が
ややこしいですが)全くの別ものとして作られたものです。これらは皆違いますので
混乱しないようにして下さい。
・GNU Emacs (Nemacs や Mule の元になったもの)
・GNU Micro Emacs Mg (日本語版は Ng)
・MicroEMACS
● COM.win への登録例
このようにして COM.win を起動すると、マウスでファイル名を放り込むだけで起動
できるようになります。
・EMACS モードの場合
COM -m2 em.win "$*" "KoEMACS Ko"
・ED モードを使用する場合
COM -m2 em.win "-ed $*" "EDITOR"
●その他
変数や、関数、そしてコマンドについては、マニュアル emacs.txt を参照して下
さい・・と最初は書いていたのですが、emacs.txt 自身かなり大きいファイルなので、
このアーカイブからは割愛させていただきました。日本語版もあるそうなので、そち
らを参考にするといいかと思います。
● K2 -> K3 への変更点
・メニューへ Font10 追加
・ -a オプション(表示アトリビュート設定)追加
・モード行の日本語表示化対応
・モード行のコマンド入力時日本語入力対応
・ウィンドウクローズ時に取り敢えず filesave するようにした。ただし未確認、
キー操作で終了させた方が絶対に確実
●プログラムについて
MiniTERM ライブラリを使用しています。JSTEVIE の場合と違い MiniTERM 自身に手
を加える必要はほとんどありませんでした。KoSTEVIE の時は高速化にかなり苦労した
のですが、この MicroEMACS では、何もしなくてもそこそこの快適な速度で動いてく
れました。(非常に楽・・・その代わり、日本語対応化という手間がかかったけど)
今回の改良には、完成度を究めた ぃかむ氏の MicroEMACS 3.10/J1.31 をかなりの
部分で参考にさせていただきました。深く深く感謝しています。
使用したコンパイラは GCC 1.42 X6_18 です。XC v1/v2 のライブラリと gnulib.a、
さらに Ko-Window の wlib.a winop.a parts.a miniterm.a を使用しています。
現在 KoNg も完成し、これで移植したエディタは3種類、Ko-Window 上で動いてい
るエディタは全部で5種類に上ります。とはいえ、さすがに手懸けるプログラムが増
えすぎてしまい、とてもとても私一人だけでサポートしきれるわけではありません。
ソース希望者には連絡下さればお渡しします。より改良し使いやすくして下さる方
がいらっしゃると嬉しい限りです。
連絡先 SPS-NET: SPS0783 COR.
DenDen-NET: DEN0783 COR.
oga@dgw.yz.yamagata-u.ac.jp